package com.todo.strategy.offline.iface.request;

import com.todo.common.common.entity.CurrentStaff;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * @author zhangwenxiang
 * @date 2024/3/17 19:22
 * @description
 */
@Data
@Schema(title = "新增平台攻略入参", description = "新增平台攻略入参")
public class InsertPlatformStrategyReq {

    private CurrentStaff _staff;
    /**
     * 标题
     */
    @Schema(title = "标题", description = "标题")
    private String title;
    /**
     * 推荐原因
     */
    @Schema(title = "推荐原因", description = "推荐原因")
    private String recommendDesc;
    /**
     * 攻略类型
     */
    @Schema(title = "攻略类型", description = "攻略类型")
    private Integer strategyType;
    /**
     * 旅游天数类型：一天一夜、两天一夜等
     * TravelDayTypeEnum
     */
    @Schema(title = "旅游天数类型", description = "一天一夜、两天一夜等")
    private Integer travelTimeType;
    /**
     * 推荐旅游月份
     */
    @Schema(title = "推荐旅游月份", description = "推荐旅游月份")
    private List<String> recommendMonth;
    /**
     * 主图
     */
    @Schema(title = "主图", description = "主图")
    private String mainImg;
    /**
     * 省份
     */
    @Schema(title = "省份", description = "省份")
    private String province;
    /**
     * 城市
     */
    @Schema(title = "城市", description = "城市")
    private String city;
    /**
     * 预计花费
     */
    @Schema(title = "预计花费", description = "预计花费")
    private Integer moneyCost;
    /**
     * 预计游玩时长
     */
    @Schema(title = "预计游玩时长", description = "预计游玩时长")
    private Integer timeCost;
    /**
     * 综合评分
     */
    @Schema(title = "综合评分", description = "综合评分")
    private Integer score;
    /**
     * 是否免费
     */
    @Schema(title = "是否免费", description = "是否免费")
    private Integer isFree = 1;
    /**
     * 是否允许评论
     */
    @Schema(title = "是否允许评论", description = "是否允许评论")
    private Integer allowComment;

    public boolean baseCheck() {
        if (title == null || recommendDesc == null || strategyType == null || travelTimeType == null || recommendMonth == null || mainImg == null || province == null || city == null || moneyCost == null || timeCost == null || score == null || allowComment == null) {
            return false;
        }
        return true;
    }
}
